From 308f41487de5897660dbbb52cd24e49294abbe20 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Wed, 12 Jul 2017 08:09:04 +0200 Subject: [PATCH] modelmenuitem: Set label on menu items We have to add a check for GTK_IS_ACCEL_LABEL too now... --- gtk/gtkaccellabel.c | 2 +- gtk/gtkmenuitem.c | 3 +++ gtk/gtkmenushell.c | 4 ---- gtk/gtkmodelmenuitem.c | 5 +++++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index 8eac6d5f46..520c2a5967 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -995,7 +995,7 @@ gtk_accel_label_set_label (GtkAccelLabel *accel_label, g_return_if_fail (GTK_IS_ACCEL_LABEL (accel_label)); - gtk_label_set_label (GTK_LABEL (priv->text_label), text); + gtk_label_set_text_with_mnemonic (GTK_LABEL (priv->text_label), text); } const char * diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 1dfdef0d4a..5680bc8a03 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -1923,6 +1923,9 @@ gtk_menu_item_get_use_underline (GtkMenuItem *menu_item) child = gtk_bin_get_child (GTK_BIN (menu_item)); if (GTK_IS_LABEL (child)) return gtk_label_get_use_underline (GTK_LABEL (child)); + else if (GTK_IS_ACCEL_LABEL (child)) + return gtk_accel_label_get_use_underline (GTK_ACCEL_LABEL (child)); + return FALSE; } diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index f49bb4438b..c99c470bea 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1813,8 +1813,6 @@ gtk_menu_shell_tracker_insert_func (GtkMenuTrackerItem *item, label = gtk_menu_tracker_item_get_label (item); if (label) gtk_menu_item_set_label (GTK_MENU_ITEM (widget), label); - - gtk_widget_show (widget); } else if (gtk_menu_tracker_item_get_has_link (item, G_MENU_LINK_SUBMENU)) { @@ -1852,8 +1850,6 @@ gtk_menu_shell_tracker_insert_func (GtkMenuTrackerItem *item, g_signal_connect (submenu, "hide", G_CALLBACK (gtk_menu_shell_submenu_hidden), item); g_signal_connect (submenu, "selection-done", G_CALLBACK (gtk_menu_shell_submenu_selection_done), item); } - - gtk_widget_show (widget); } else { diff --git a/gtk/gtkmodelmenuitem.c b/gtk/gtkmodelmenuitem.c index 0083452edf..1d4a5d40dc 100644 --- a/gtk/gtkmodelmenuitem.c +++ b/gtk/gtkmodelmenuitem.c @@ -252,6 +252,11 @@ gtk_model_menu_item_set_text (GtkModelMenuItem *item, gtk_label_set_text_with_mnemonic (GTK_LABEL (child), text); return; } + else if (GTK_IS_ACCEL_LABEL (child)) + { + gtk_accel_label_set_label (GTK_ACCEL_LABEL (child), text); + return; + } if (!GTK_IS_CONTAINER (child)) return; -- 2.30.2